Fixed it then broke it then fixed it then broke it then fixed it, oh and
restructure of many stuff...