Version 1.0 (complete rewrite from previous version).
Initial commit.