auto module definition