correct intermediate defaults unused check and allow for cycles