refactored inline list mixin