functional mvc!