added factory for selectors