add lower level accessors