Initial commit

See README.md for details.