http://pastebin.com/Q7q5ZK2Y