added song cache, fixed lots o bugs