sub-object methods