void Update()
    {
        if ((pm != null && pm.IsGrounded()) || (em != null && em.IsGrounded()))
        {
            if (Physics.Raycast(transform.position, Vector3.down, out hit, groundRaycastRange) && hit.collider.tag == "Cube" && !lastHitInitializated)
            {
                lastHit = hit;
                lastHitInitializated = true;
            }
            try {
                if (lastHit.transform.gameObject != hit.transform.gameObject)
                {
                    Destroy(lastHit.transform.gameObject);
                    lastHitInitializated = false;
                }
            }
            catch (Exception e) {
                lastHit = hit;
                e       = null;
            }


            if (Input.GetKeyDown(KeyCode.L))
            {
                Debug.Log(hit.transform.name + lastHit.transform.name);
            }
        }
    }