proper field validation in validate() method + more tests