add more advanced techniques