BSAReader broken into subroutines, better debug output