changing controller
added tests, features