Initial commit. All unit tests are passing (except one because of the
test design)