add py3k support