http://pastebin.com/Qks4p5rf