works with gui