V2

Resolves #10, resolves #11, resolves #2.