void FixedUpdate()
    {
        // Follows enemies, i.e. it only works for friendly bullets
        if (follow)
        {
            GameObject target = StageHandler.GetClosestEnemy(transform.position);
            if (target != null)
            {
                // The magnitude of the cross product provides rotation amount
                float rot = Vector3.Cross(transform.up, Vector3.Normalize(target.transform.position - transform.position)).z;

                transform.Rotate(Vector3.forward, rot * rotSpeed * Time.fixedDeltaTime);
            }
        }

        // Use Vector3 instead of transform.right because of the relativeTo parameter
        transform.Translate(Vector3.up * speed * Time.fixedDeltaTime);

        // Kill if out of bounds, more reliable than edge colliders
        if (!StageHandler.InStageBounds(transform.position))
        {
            Object.Destroy(gameObject);
        }
    }