some geometry mucking about