Add a flatten helper function