http://pastebin.com/G3YwiSnh