wip with lot's of comments and waaaay too little code