Validation: rewritten language validation to use external data