make module definition procedure more structured