Beginning the real code and tests [ci skip]