better organization, can now be used with python distutiles