add some validation, throw some errors
Merge branch 'develop'