added panel abstract class