There need to be a true blocking function here.