initial GUI implementation