better for extends