added generate_complete_mar()