Added implementations for transparent serialization if needed and added license headers