fix ribbon
implement ribbon