added valid in empty constructor