draft of redesigned controller and model (dysfunctional)