gui implementation