broke options out into a separate class