end of day; rewriting full OO style