removed ivar delegate and only used property as a delegate