added static module
support module sub-functions