added guards to options