updated with Settings ViewController, delegates and protocols