finish the draft version by passign messages. WILL START actually caring about syntax from now