added setup.py
moved stuff around to be more setup.py friendly