Refactor to use a pointer to the UCL object instead of copying it