Added GUI, polished code