added setup.py for distribution