made controllers inherit from MonoBehaviour for unity functionality