reflecton and refraction