added related logic