outline: reimplementation (fix #155)