select modules getting complex, but should work without bugs