did some cleanup
did some refactoring, added scenario based integration tests, and rev'ed version to 0.9.0