Many unimplemented functions now return error messages instead of crashing