added double reflection method