use correct completion logic