basic outline
added first functions