refactore based on comments