this doesn't look significantly simpler...