don't busy-wait. addresses #46