add abstract selector