added playThrough method