added self_filter and passthrough for floor removal