better validation, #38.