add controller
change config to use constants
various bug fixes
test data