rewrote mixins and refactored reveal function to a new parameter