answer implementation