Add missed scopes and validations. Cleanup. DRY.