classes for serialization implemented