sample to use multiple implementations for same interface