uncommented method and added self instead subclass