working version.\n Need to take care of the angle now\n