Model View Separation Implementation