complex object validation