removed explicit self