fix: should return false and error string if invalid arguments passed.