add some gui and such for easing implementation