hasNext before next; make internal propery accessors private; Bit/Bits abstracts; Serializable interface