http://pastebin.com/PGVM60H4