solutions complete