Initial commit with first basic implementation and tests.