refactored to parse in separate content, vocab and render views separately, separated model population from rendering