Make gui optional and other things