work on basic gui functionality