added self keyword