more validation. closes #7.