validation almost done except datetime