fix all the bugs. ALL OF THEM