updated validation
remove need for silly update values smell
handle chemical overlap