Added GUI implementation; updated CLI implementation