First commit

The basic code.