[Resolve Issues after refactoring]
This is the second attempt.