finish getting number, start refactor