Updates, fixes, new tests, immutable user funcs