Ensured recursive init