Dont Judge the code :P