finalised validation