refactored choose center if available method