made a bunch of progress towards a working controller