proper fn comp