improve KeyPath