reimplement manipulation methods to be more standards-compliant
update manipulation tests