Change to singleton approach