stages in general create horrible dep loop, avoid it