Final validation + refactor