API singleton