optimisations from Rich Salz <rsalz@caveosystems.com>