SN-37 Implement method selectNext and Refactor