refactor package, add heap sort and chapter 2 exercise