altered api for .add