the changes to actually get it working :D