implemented module template method