Added load and validation, and tests