validation and more