list fully (kind of) functional