http://pastebin.com/Abtw42pT