functioning GUI