add gui layer
Merge branch 'issue018'
add gui layer