optimze hard selector