support Python 2-3 with common codebase