fix all the bugs!