begin functions research