my own mvc for educational purposes only