refactored a little, and added multithreaded support so that user input doesn't keep the next song from playing.  need to refactor moar. 4/20/14