goto function fully functional for real this time