discovery as singleton