add working prototype - tests to come - I know