need to test race conditions, might be good.