full gui cycle