merge Impl to class
add validator