- mainopt shall has to be defined