offload more to the validator
fixed bug caused by getter having side effects