improve visit children method