separation of concerns - move uf specific code to uf classes
add a few comment blocks