updated for compilation error in restaurant and for singleton