base strategy pattern realization added