https://www.piesync.com/blog/datavalidation/