added geometric library