cleaned up stuff i ... borrowed from vinces talks