made program structure require a main, and then consist of init/always blocks