remove comment; remove func param; register msg parametrized
organize modules