first draft, some console implementations and OO-design