some cracks in my logic here -- should be better now!