I believe that you must make the inverse Make the Shell first and after the Boolean Difference with objects ! :) It's more like than the reality!