added menu driven operations