http://pastebin.com/yz4ihZAP