restructuring a bit, though not yet sure of efficacy