implemented multiple options