rework validation, atom compatible