Code is crap but at least I tried to follow the style guideline