separate view from model
add basic model tests