Sample preparation techniques