some basic work on the controller program