old modifications, procedural vitter added