force constructor delegation except when extending Basic