+ refactor glisp