declarative structure marshalling