Add: first try for generic checks and factorization