initial commit
app and specs
update readme
update readme to note that tests take a while
refactor with encapsulation in mind