Variant - refactorization