made zero-argument constructors for serialization private and thus, only for reflection-based object creation and serialization. bam.