selector should be more generic