update function for greenlights (support multiple theta)