Change to use singleton