please document parameters and return value.