fleshing out the class structure