parent logic