Made subcharts more generic by introducing a super abstract class