Initial commit. Ugly, but functional.