small implementation modification