changed comments from interface to abstract class