Add find_version method
Fix validation bug
Refactor and simplify validations