main has options functionality