improved validations, improved logging, handling failed validation better