Pragma marks and comments added
Setting up to try using delegates