square interface