sub-module readonly