updated dependencies to work well in py2 and 3, use bytestring in test