not finished yet ( gui is missing)