add optional validation