implemented topology