jsdocs documentation
externalize validation strategies