another idea, though i don't like it as much