added valid* back