http://pastebin.com/Wy0fhegr