+ O(N) tricks