added a new paramater options in place of just a defaultValue string. with documentation and tests