started work on #17, unfinished and broken