wip #19 need more unit testing ....