did some refactering
added two controllers