code breakdown

broke PA class down into a number of sub classes