move to validate logic