further optimize computed property