validation + visual