Respwan after Collision doesn't work

Hi there,
I really hope this is the right forum to post this (if it’s not, I am really sorry!)
So I am trying to build this simple game where I want my player to respawn after he collides with the enemy.
I came up with this code and it doesn’t show me any errors in the compiler, yet it simply just doesn’t work.

Could maybe someone be kind enough to tell me what I am doing wrong?
Thanks in advance!

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerMovement : MonoBehaviour {
    public float moveSpeed;                                                                         
    private float maxSpeed = 5f;
    public Rigidbody rb;
    private Vector3 input;
    private Vector3 spawn;


    void Start () {

        spawn = transform.position;
    }
 

    void Update ()
    {

        input = new Vector3 (Input.GetAxis ("Horizontal"), 0, Input.GetAxis ("Vertical"));         
 

        if (rb.velocity.magnitude < maxSpeed) {                                                     
            rb.AddForce (input * moveSpeed);
        }
    }

    void onCollisionEnter (Collision other)
    {

        if (other.transform.tag == "Enemy") {
            transform.position = spawn;
        }
    }
}

OnCollisionEnter

C# is case sensitive

Omg I looked at it for like 3 hours and i didnt see that D:

Thank you