added Tests, Splitted Controller.