Refactoring. Package location changes.
Error handling and validation.