fixed absurd comment;
better product implementation (in case outer is big and outer is empty)