fixing all fn