everythin except receive() seems to work