showdown handling on client side