switch to OO interface