some refactoring with getSong()