all functionality except blocking working