working shiny version