Adding initial code for a mostly working gtk version