Initial commit

Tests are on the go.