added modal boilerplate