functional install