add controller tests
update TODO