all basic functionality of selection complete, untested. Not in the mood for unit tests on this one.