geometry algorithms added