modified foo2