removed unnecesary self