http://pastebin.com/bWQP6qu4