First cut of updating block structure and main logic.