orignally by DJ_Monkey_Pilot nick added blocks