+ Use entity factory to simplify the code