Zaslat SMS: Principles of surface-enhanced Raman spectroscopy