First commit with the basic code.