validation almost complete