Filled in basic outline