Refactored to follow Core/Implementation pattern