Large refactor.

Forgot to update README. Sorry >.<