Refactored controllers + added setup.py