http://pastebin.com/VEeUXZ5u