implement computed observable writer