todo: python 3, cleanup