An introduction to MVC