Adding strategy and singleton patterns.