Semantic view and rewrote logic a bit. Will try presenter pattern soon.