Adds more tests, refactors, updates readme, bumps version