moving closer to tidy OO code