try to encapsulate ursa into a module