Grey Alien #1 thanks, I just don't understand how the Play method shown above doesn't do anything else apart from return a channel. It must be intercepted by the compiler as a low level keyword and then the sample is played.