factored out stategies