first viable version, still more to be wished for but wth