xgetopt impl

xgetopt impl