First Timer implementation plus tests.