still working to understand the model view controler