http://pastebin.com/Fv5AccAD