add validations, dependence