validation and mapping, exceptions