all should be handled properly