removed abstract and concrete headers