implemented geometry manipulations