Further modularized main.v
IN PROGRESS--DOES NOT BUILD