without trylock this doesn't returna anything