extra delegate methods and retain cycle fix
extra delegates methods and retain cycle fix