fix #1, support multiple user tokens
use jinja2 in templates and change design