implemented very basic gui