GUI implementation of PA5