more definitions, no real logic or code yet