basic structure done , translate function left :D