gen wrapper