Begin to refactor list