new better version, string recusion instead of array
children have no knowledge of parents
using .flatten hack approach
Updating from api_reader
Added sample search