http://pastebin.com/K9vuHbkL