opt and main