organized files into proper MVC architecture