Nanoparticles can be functionalized for biomedical applications by modifying their surface with multiple components in a defined order from the innermost to outermost. Common steps include adding a drug to the core, then a targeting ligand on the outer layer. Possible ligands include antibodies, peptides, aptamers and other molecules that bind receptors overexpressed on target cells. Aptamers have advantages over antibodies like controlled synthesis and lack of immunogenicity. Peptides identified from in vivo phage display libraries can also serve as targeting ligands. The choice of ligand depends on the drug and intended application.