fixed polling -> blocking for part 3