possibly use extend so as to limit the number of opts that are needed to be implemented.