yep, i know this is a O(n!) i will do that later