updated with modules