get udc cache working.. still need cleanup and more testing