private geometry package (slow)