updates and validation