recursive and non recursive modes supported