update for OO