Provided herein are compositions and methods for modifying a predetermined nucleic acid sequence. A programmable nucleoprotein molecular complex containing a polypeptide moiety and a specificity conferring nucleic acid (SCNA) which assembles in-vivo, in a target cell, and is capable of interacting with the predetermined target nucleic acid sequence is provided. The programmable nucleoprotein molecular complex is capable of specifically modifying and/or editing a target site within the target nucleic acid sequence and/or modifying the function of the target nucleic acid sequence.