Added in recursive comments
Added all non-optional features.