more basic code outline