the remaining modifiers, simplified API, extended tests