optimization: removed acquire-on-push