hlint pass
integrate QuickCheck and start writing some tests