update implementation with single method