added dismiss on tap with ability to override