WHAT IS THE PURPOSE OF THE SELF PARAMETER WHY IS IT NEEDED