http://pastebin.com/TcGP8zHE