submods: re-struct