subset and recurrison: reading the input, still needs work