http://pastebin.com/TS69eeUV