work in progress
work in progress
added part on serialization