creeping up on it: display mostly good, working on validation
cleaned up naming, added tests, still in progress