this needs ```sicon.size() >= 4 &&```