basic outline finished closes #4