trying MVC (work in progress, some temporary solutions)