add more tests, get controller working