Some refactoring, needs more. Made views better and holding more info