abstract class fixed