cleanup: create from dict, removed unused methods, refactor view methods