include abstract  module definition