use public_send when possible
use lambda instead of proc for error_message
refactor validator class
bump version