doc for abstract module