basic gui implemented