started adding structures and support code for named arguments