this is a ways from right, but it is no worse than before
and it has the real advantage of working