average property stuff refactored