initialize abstract classes