- improved custom validation functionality
- added more unit tests