implement event system and seeking (forward at least)