refactor for threading

read-guard needed?