what does gosub and return and vsync do?