Cleanup and refactor

Organizing the gem a bit + documentation