Refactored to package format.