allow user specified type validator instead of builtin type validation; version bump