added custom validators and tests