Index: bin/stamp
===================================================================
--- bin/stamp	(revision 58)
+++ bin/stamp	(revision 71)
@@ -3,5 +3,5 @@
 import sys
 from datetime import datetime
-from stamper import Stamper
+from stamper.stamper import Stamper
 
 
Index: bin/stamps
===================================================================
--- bin/stamps	(revision 61)
+++ bin/stamps	(revision 71)
@@ -2,5 +2,5 @@
 
 from stamper.cli import build_args_parser
-from stamper import Stamper
+from stamper.stamper import Stamper
 
 
Index: stamper/__init__.py
===================================================================
--- stamper/__init__.py	(revision 58)
+++ stamper/__init__.py	(revision 71)
@@ -1,1 +1,1 @@
-from stamper import Stamper
+
Index: stamper/config.py
===================================================================
--- stamper/config.py	(revision 58)
+++ stamper/config.py	(revision 71)
@@ -1,5 +1,5 @@
 
 import os
-from ConfigParser import SafeConfigParser
+from configparser import SafeConfigParser
 
 
Index: stamper/http.py
===================================================================
--- stamper/http.py	(revision 53)
+++ stamper/http.py	(revision 71)
@@ -1,8 +1,5 @@
 
-from urllib2 import (
-    Request, urlopen, build_opener, install_opener, HTTPCookieProcessor
-    )
-from urllib import urlencode
-from urlparse import urljoin
+import http.client
+from urllib.parse import urlparse, urlencode, quote_plus
 
 
@@ -10,16 +7,20 @@
 
     def __init__(self, base_url):
-        self.base_url = base_url
-        self.request = build_opener(HTTPCookieProcessor())
-        install_opener(self.request)
+        self.parsed_url = urlparse(base_url)
+        if self.parsed_url.scheme == 'https':
+            self.conn = http.client.HTTPSConnection(self.parsed_url.netloc)
+        else:
+            self.conn = http.client.HTTPConnection(self.parsed_url.netloc)
 
-    def send_request(self, url, data=None):
-        response = self.request.open(url, data)
+    def get(self, url):
+        self.conn.request('GET', url)
+        response = conn.getresponse()
         return response.read()
 
-    def get(self, url):
-        return self.send_request(urljoin(self.base_url, url))
-
     def post(self, url, data):
-        encoded_data = urlencode(data)
-        return self.send_request(urljoin(self.base_url, url), encoded_data)
+        encoded_data = urlencode(data, quote_via=quote_plus)
+        headers = {'Content-type': 'application/x-www-form-urlencoded',
+                   'Accept': 'text/plain'}
+        self.conn.request('POST', url, encoded_data, headers)
+        response = conn.getresponse()
+        return response.read()
Index: stamper/stamper.py
===================================================================
--- stamper/stamper.py	(revision 69)
+++ stamper/stamper.py	(revision 71)
@@ -292,5 +292,5 @@
                     # daily totals
                     print('daily total: %(total)s' % {'total': totals[day]})
-            print '-'*79
+            print('-'*79)
 
         # now calculate the totals and show them
@@ -318,5 +318,5 @@
             if totals:
                 print('------ Totals ------' % {'day': day})
-                for day, tot in totals.iteritems():
+                for day, tot in totals.items():
                     print(' %(day)s: %(total)s' % {'day': day, 'total': tot})
                     sum_tot = "%(total)s %(new)s" % {
