implement valid? specs