#11 refine module template