divide first_ask code into smaller methods, remove duplication