an MVC framework for learning purposes