graphical version done