a rational class that we will complete using TDD