try uniplate
back to todo