If you 're following an agile methodology for your Jira project, it is likely that you will have many Stories linked to a single Epic. Shape development by sharing your ideas, experiences, and opinions. In the epic filter dropdown, turn on the Epic panel toggle. Jira does not store child issue count or sum of child issue points in Epics. Sadly you cannot achieve the desired search using standard features on Jira, you must go for a third-party app instead. Hi, @Sameh Khalil - if you're just looking for a search result that shows all epics in a project and all stories that are part of epics, that's simple. Click on the Add smart filter button at the top-right of the page. Video and interactive training to get you up and running with ScriptRunner for Jira Cloud. Reply. jira-software. It is also possible to reorder the issues in the backlog (you can also show all the epics and filter by them when selecting "Epic Panel" in the "Epic" filter). This is where you can use epics. How to display Epics, Stories, Tasks & Sub-Tasks under a Portfolio Epic in backlog section? I need to list down Epics, Stories, Tasks & Sub-Tasks under a particular Portfolio Epic in Backlog. Any “ Epic ” is basically a higher-level user story that represents some functionality that can be further broken down into small stories that have been gathered. Your JQL could look like: issueFunction in linkedIssuesOf ("project = MyProject and component in ('A', 'B')", "is epic of") Documentation is available here. issueFunction in issuesInEpics ("fixVersion = 'Aug 2021'")ScriptRunner for Jira Cloud's out-of-the-box JQL functions are available to all users but can only be used on the Enhanced Search screen under Apps > Enhanced Search. "Epic Status" = Done and issueFunction in epicsOf ("resolution = unresolved")Create and use Epics from the Backlog. e. Something like this. Note that the Jira issues macro has a cache, so if you are testing this you need to click the refresh icon on the Jira issues macro. To manage your Jira epics on the board, click the 3 dots in the top right corner of your screen and select “Board settings” then “Columns”, where you can enable or disable the “Epics” panel. Collapsed 1. I would like to create a JIRA query to list all Epics under Initiative, which will allow me to create a Two dimensional Dashboard gadget with all listed Epics under that Initiative, and its' statuses. So to create an child issue in a project other than the Epic's project, you'll have to hit the Create button, choose the desired project and link it to the Epic using the Epic Link field. By putting the Epic scaffolding into Jira first you can then build your Jira backlog in a logical manner and demonstrate to stakeholders which Epics are the focus for the next 4-12 weeks and which parcels of functionality are getting delivered later in the roadmap. Learn more about using Jira automation to modify issues and automate your issue workflow. I would contact your Jira Admin team and ask if they have this app - or a similar advanced JQL app - available which you could utilise. Open the epic panel by using the toggle in the epic filter dropdown. It’s best to place the Sprint Health in the upper-left so everybody can see who’s working on the sprint. In the issue detail view, select the link icon then select Link Confluence page. issue IN epicsOf ("sprint in openSprints ()") Regards. User stories can be coarse-grained or detailed. Instructions. Exporting a Jira epic report is best if you want greater flexibility of. Create a parent issue. In Jira, Epics, Stories, and Tasks are fundamental components used to manage projects and streamline workflows. Rising Star. In general, this solution requires 3 automation rules. edit issue fields: setting the story points to { {lookupIssues. You can do this with either the Jira issues macro, or the Filter Results gadget. In this article, we’ll dive deep into the technical aspects of utilizing Epics in the Jira workflow, exploring the advanced features and Jira best practices that can streamline your software. To expand an epic’s details, select the. Steven Battisti Jan 09, 2018. g. bodzek December 7, 2017, 11:11am 1. b) I tried using Epic name as the link vs the idIn development, Jiras Epics are used as a rubber band to keep a feature together if it stretches over multiple iterations. Regards. Is there a way in standard JIRA (no plugin) to return a. The dateCompare () Enhanced JQL Function makes it possible to compare dates stored in an issue, even if they are stored in custom fields. Note that your templates have to be of the Epic issue type to make this work. You would need a third-party app like ScriptRunner for Jira with additional JQL functions like issueFunction in epicsOf You must be a registered user to add a comment. Examples Description: Searches for epics that belong to issues that match the given subquery. Jira is likely to be a tool where. You can get a Jira epic report in Jira Software or you can export a Jira epic report to Excel for further analysis. Something like this will show the issues created in the last 30 days. 1#76002-sha1:21e6670) About JIRA; Report a problem; Atlassian. Once you’ve logged in to your Jira account, navigate to the project in question and click the global Create button in the top toolbar. Over the past year, we’ve been providing updates around renaming epics in your company-managed projects. Download our guide to the top 10 most used JQL functions now. A confirmation message for the creation of Epic will appear in a small dialogue window. 0 votes. DarenG Oct 03, 2023. This pulls all the Epics and Stories we are interested in and then the Plan. issue in childrenOfEpicsInQuery ("fixVersion='21. Collapsed 1. - Sum up Time Spent, Org Estimate, Time Rmng, custom number. Epics are such coarse-grained user stories, or you can call them “bigger stories” or “features” because they are too large to be of much use. They have a beginning, and they have an end. . Note that your templates have to be of the Epic issue type to make this work. Each project is a table. issues in Epic does not work. Out of the box, the epic reporting available to you in Jira consists of some basic insights in the backlog and the epic itself, and if you’re using a Scrum board, two board reports: the Epic Report and the Epic Burndown. issueFunction in epicsOf("project = A and type = Story") You can also do it with multiple search. Confluence Whiteboard - Import from Jira - Show Epic Link on Card. This returns no results, even though there should be information returned. The 'Epic' Issue Type will always be at the top, with all other Issue Types being linked up to the Epic via the Epic Link field. Rolled up percentage completion and at issue level as well. There are no parent-child relationships at all. Publish your new Workflow. @Karthik Balasubramanian. The filter ID =191122. I would like to create a JIRA query to list all Epics under Initiative, which will allow me to create a Two dimensional Dashboard gadget with all listed Epics under that Initiative, and its' statuses. issuefunction in epicsOf("project=B"). Kurt Smith Jul 06, 2021. Learn to optimize Jira JQL with advanced search queries and enhance your Jira experience with expert tips and tricks for effective JQL usage. Story, Task. Click on the “Create issue in epic” link to create an issue in epic. There are no child tasks. You could use a filter that returns. Using above query as a subquery, i could retrieve all stories involved in Epics. There are three types of permissions in JIRA applications, and they range from the high-level to granular: Global permissions - These apply to applications as a whole, not individual projects (for example, whether users can see the other users in the application). Follow these steps for this purpose: Step 1) Click the “Backlog” option from the left side of the screen. Select a project or projects to limit those. Step 3) Click “ Create Issue in Epic”. You can see each Epic progress in the backlog "Backlog' section, but that doesn't show the completed/in progress/to do numbers. Epics are the collection of issues that need working on. ) But you can test Deep Clone for Jira for free for a minimum of 30 days. How do I find the Epic key or ID that is compatible with a JQL query. 6k 9 9 gold badges 81 81 silver badges 103 103 bronze badges. ; Project permissions - Organized into permission. Jira is a ticket-handling system. To the best of my knowledge, you'll need extra tooling for this. : use issueFunction instead of issue if you have Script Runner for Jira. gl - peterIf you use Jira cloud, click on the Search icon on the left, and navigate to the advanced search screen to search for the EPICs. Smart Checklist leaves plenty of room when it comes to flexibility – you. However, I get the expected result by using the lookup directly on the JQL advanced search. This is what I was looking for. Get product training and certification for Jira, Confluence, Trello, and more. There are three types of permissions in JIRA applications, and they range from the high-level to granular: Global permissions - These apply to applications as a whole, not individual projects (for example, whether users can see the other users in the application). There are several reasons why Jira is a popular choice for software development teams. Hi @Lara Savon - Yes Epic Color should work in the same way: project = XXX AND "Epic color" IN (EpicColor1, EpicColor2, EpicColor3,. In the 'Issue' field, enter the Initiative ID (e. 6. Kind regards, Martin JIRA Software Feedback Policy: Our product teams collect and evaluate feedback from a number of different sources. 1. @Karthik Balasubramanian. 1 answer. In the above video, we dragged TIS-111 - Add Phobos and Deimos Tours as a Preferred Travel Partner from the Issues without Epics panel, onto the Story Map. Epic level reporting (JIRA Cloud) Edited. What to learn about automation in Jira Cloud? Read up on the general concepts and best practices of Jira Cloud automation to help you get started. 1. A backlog is a prioritized list of work for the development team that is derived from the roadmap and its requirements. This will work perfectly. if you have Scriptrunner on the instance, you could use their JQL function . Using JQL without an add-on, you can do some searching - for example: issueLinkType: This allows you to search for all issues within one link type issuekey in parentIssuesOf("ABC-123"): This would allow you to search for the parent of one specific Epic. In Add Parameters To Function, select ON_CREATE in the Stage field and click Add. Learn about epics in Jira Software Cloud. Go to the Backlog of your Jira project, and select the Epic filter dropdown. It also does not provide a native method for you to get a list of Epics and their Child Issues based on using a filter to get the Epics. Here are your options: Epic that have Features which then have sub-tasks. I'm not sure I understand your situation. Regards, Seba. Add a new epic. This works well. If you have the paid plugin Script runner installed then you can easily do it. 13 version of Jira. A Project will have more than one Epic under it. JIRA Structure helps the team visualize, track and manage progress across JIRA projects. Only stories with a certain label. issueFunction in issuesInEpics("project = SSPB and status = 'To Do'")using a plugin (script runner) it's pretty easy. sum}} Of note: this works for a company-managed (classic) project. The graph will look different if you are using Issue Count as your Estimation Statistic (rather than Story Points, as shown in the screenshot above). Jira’s Epic Features. It is a 2-step process. Follow. Customizable Workflows: To fit the requirements of your projects. Atlassian news, tips, how-to articles, videos and podcasts!If you want to get the Epics you need to use epicsOf. This gadget takes the issues from a specified filter and displays them in a tree structure, by their hierarchy, in form of Epics > Stories, Tasks > Sub-tasks along with their status. issuetype=epic and fixVersion=7. sum}} Of note: this works for a company-managed (classic) project. Finally, click on Export, to extract the table into a variety of formats, including CSV. Examples: issue in epicsOfChildrenInQuery("'Team Name'='My great team'") and status='To Do' finds my team’s epics that are still in progress issue in epicsOfChildrenInQuery("assignee=currentUser() AND updated>-1d") finds epics of my. Time in Status report using JQL. In the epic panel, select + Create epic. This isn't helpful for you our customers, as it's hard to tell what we're working on, and if we're. Hi, I have a project with Epic under it Stories, Tasks and Subtasks (hierarchized). 4 2017-12-12 First App Release. Fill in your epics “Default Description” and click on “Save Changes”. g. Here they can see all of the epics, their resolution, and assignees. The Kanban template allows us to see issues under their parent epic. Like • Chris Buzon likes this. b) I tried using Epic name as the link vs the id In development, Jiras Epics are used as a rubber band to keep a feature together if it stretches over multiple iterations. I'm on Jira Server, yes. Any “ Epic ” is basically a higher-level user story that represents some functionality that can be further broken down into small stories that have been gathered. A Jira epic status report is a document that takes an ongoing epic into account. In this #Atlassian #Jira video you are going to learn how to make an #Epic a child of another issue type. Connect app scope required : READ. OKR levels - is the ability to set and track Objectives on different organizational levels. What are ScriptRunner JQL Functions? Use ScriptRunner JQL functions to extend Jira's built-in capabilities, allowing you to conduct more granular searches, and obtain more. Click on it to show all the epics created in your. util. It is of no use in ScriptRunner JQL query condition because it doesn't test that one specific Epic linked with a Story. I think this is because JIRA reads this as "Retrieve sub-tasks for EPIC-123" (which is 0) as opposed to "Retrieve sub-tasks for stories in. We do have script runner on the instance, however with rich filters and the selection being dynamic, I don't get to specify the second part which in the case of your example would be: subtaskOf ('"Epic Link" = EMEA-53') The reason for this is the rich filter gadget is just adding "and epic link = xxx" when I select it. I'm dealing with a similar problem. Confluence and Jira have an Application Link established and working; In Jira there is at least one existing issue (FLP-7, bug1) which is linked to an Epic (e. epicsOf is not returning any Epics in ScriptRunner version 5. They are connected through the Link option. . It allows you to add both epics and stories to your roadmaps, and even organize them under even higher level components like objectives (or initiatives/themes if you prefer). The closest you can get to this, as far as I know, is: Epic | +--Story | +--Sub-Task. From the Roadmap tab, then click to enable Epics for your project. We would like to search for all childissues of a list of epics that are belonging to an specific fix version. There are third party apps that would enable you to get a list of child issues based on a filter for retrieving the list of Epics. Just click the level name (by default, this will be Epic ), type in a new name, and hit Save changes. 2. Make sure that your post function is added in the right position and click Publish. 15. We will finish with how BigPicture leaves Jira – which is brilliant for task. Below are just some examples of how you can use ScriptRunner JQL functions: Use epicsOf to query on epic links, such as finding all epics that have unresolved stories. Jun 08, 2020. Click Epics panel. Conclusion. Update an epic's details. You could use two different queries to do this, but the first would have to be. Initiatives are meant to associate several Epics under their scope, with a link called "Parent Link". edit issue fields: setting the story points to { {lookupIssues. On the Backlog, select the Epic filter and enable the Epic panel toggle. It lets you build hierarchical lists and share them with your team. Add a new epic. We have found a solution to this: project = OPS1 AND issuetype in (Epic, Story) AND status in ("In Progress", "To Do") AND (labels = MineEng OR summary ~ MPDT or summary ~ AU) ORDER BY issuetype ASC, priority DESC, "Epic Link" ASC, created DESC. Note that in large Jira instances, you will hit performance issues by simply using the type in the inner query. Free 30-day trial for all apps. 2 answers. Hi @Katrina Atkinson . Move beyond the limitations of Jira. . This returns a list of stories but not the list of related child issues. Other than that, you could export the Epic's issues to Excel/CSV from the Issue Navigator and use Excel or. The name of the epic for JIRA-34 is "Improve StackOverflow reptuation" Done. Filter 'Epics' with all issues in epic closed except a story with a determinate title-summary. But to me Epics are large undertakings that will not be completed in a single sprint. This feature is now available for both JIRA Software Cloud and JIRA Software Server. Defining Milestones: This allows you to group the. issueFunction in epicsOf () is too complex for Scrum board. To list all issues in specific epic please use "Epic Link" = EPIC_KEY. In this answer, an epic-story structure is suggested. JIRA provides. To add a little more to your Epics, you can customize the color and avatar!1 vote. David Walley Dec 20, 2022. Once you see the results of your JQL search in Jira, copy the URL from the browser and paste into the import field. Thanks in advance. Save a filter which pulls all Epics of an Initiative (level higher than Epic) say "ListOfEpics" (the filter id for below filter was 22323) issueFunction in hasLinks ("is Epic of") AND "Parent Link" = PR-448. The Design tab is used to capture UX/UI design information for the epic. Best Practices. You can create a feature issue type, but it's just another type of Story, with sub-tasks. I have tried issueFunction in epicsOf as well as issueFunction in subtasksOf. So we have only added stories to the sprint. Types of permissions . 1 answer. Standard Jira doesn't allow you to clone an Issue with all child issues in one action, clone to other projects or modify other. The developers will be given access to this project, you will create workflows for the different issue types, etc. The linked story should have a certain filter. Select "Application Packaging" "Template". The lastCommentedDate alias can be used to search for issues based on the date of most recent comment. Mike Henry Jul 15, 2020. You can use these extra levels to track your organization’s larger initiatives in your plans and unify cross-project work. The sprints could include issues from other Epics. Bill Sheboy. I should add that you probably want to add this if you're only wanting to see stories appear: AND issuetype = Story. Go to the Backlog of your Kanban project. But if you create a child issue from the Epic view screen (by hitting the + sign) it will create the child in the same project as the Epic. In other words: it will not return any issues linked to closed Epics. Choose the type of issue link, e. made a swimlane for each epic: "Epic Link" = <epic's issueid> OR parentEpic = <epic's issueid>. I'd like to use dynamic data based. . I attach an image with some explication about what I'm searching for. If you want to have an Epic for your project and its children here you go : parentEpic = KEY-1. Hugo Jul 15, 2020. condition: epic link is not empty. Using i. Their details will appear to the right of the Epic panel. The direct page you linked provides descriptive information but not directive information. The start and end dates of Epics are less certain in general than the dates for sprints. Hide irrelevant epics from board. ステップ 1: Jira Software で新しいエピックを作成する. then choose the "Move" option. I don't know how to group together Projects, Epics, Features and Stories. - Retrieve any issue related (using issue linking feature) to the issues collected above. Now you can add a name to the rule. I have got this so far: project = xx AND issuetype in (Bug, Epic, Story, Task) AND "Epic Link" in ("xx-184", "xx-191") this query doesn't return epics xx-184 and xx-191 themselves. I've just got started using MS Flow and I'm running into an issue when trying to create an Epic in Jira using Flow. Deep Clone for Jira is a paid Marketplace app. Ikuh Henry Sep 04, 2018. parent}} where the parent is the epic of the task. adaptavist. Then we will break the three terms into pieces. 0 - 7. Alternatively, within the epic JIRA under the tab “Issues in Epic”, click on the “+” link, it open a dialogue box. You can select your filter for Epics (ie issuetype = Epic AND fixVersion = yourRelease) and Agile Docs will bring up all Epics AND child issues of each Epic. To create such a template, click the Create button, choose Templates as your target project and Epic. Build your JQL query using the parent is empty clause. This works if you want to do a one. The Epic Link custom field is a relational link to determine an issue's parent epic. View. 8 and scriptrunner 6. Click create. An epic is a large body of work that can be broken down into a number of smaller stories, or sometimes called “Issues” in Jira. Step 3: Click on “Create” button to create a new epic in Jira. Fill in the details such. I want a progress report (% Complete) based upon the number of issues. You would then need to take the issue keys returned by. I have got this so far: project = xx AND issuetype in (Bug, Epic, Story, Task) AND "Epic Link" in ("xx-184", "xx-191") this query doesn't return epics xx-184 and xx-191 themselves. From there, you can select Epics under Issue Type. issueFunction in epicsof ("sprint = 'Sprint X' and stream = 'XXXXXX'") You can also just run the JQL on Sprint and Stream then display the Epic Link field or find a good gadget to visualize the results. If you've already registered, sign in. Make sure that your post function is added in the right position and click Publish. Issue Hierarchy Reports. 2 story1 1. I will answer there also. Navigate to a project’s settings and click on Project automation (will most likely need Administrator role in the project depending on how permissions are configured. Project: In all versions, you get unlimited executions per month. These would be the steps: 1 - Create the following JQL filter: 2 - Navigate to your dashboard and click to create a Filter Results gadget, adding the filter you created. e. Here is how to create an epic with Python on Jira: Install the Jira Python library by running the following command: pip install jira. On the left sidebar, then click Roadmap and select “+ Create epic” (if the Roadmap isn’t populated, you just need to type to add your first Epic) In. I have been using epicsOf() function in earlier ScriptRunner versions but it is not working any more in 5. Syntax. Hello @Robin Raben , You can use JQL query: “issuekey” = EPIC-KEY OR "Epic Link" = EPIC-LINK OR parent in (ISSUE-KEY). Epics are linked to Initiatives using issue linking - not the parent hierarchy (i. Right now it's really basic, when a SharePoint list item is modified and a status field has a specific status it should create a new Epic in Jira. Rising Star. The article may indeed be a little confusing. ) 2. Execute - "Application Packaging Development - XYZ". Here is how you can create an Epic issue in Jira: Create a new issue. This will allow you to interact with the Jira instance using Python code. Answer accepted. e. Quick filters actually do not apply to the epics in the sidebar. Here is how you can create an Epic issue in Jira: Create a new issue. Reason for wanting to do this is we have a good number of EPICs within our projects so i'd prefer making one API call rather than two if possible. Is there any way to get a list of all the epics that is a child of a program epic with a certain label? Answer. Click on an epic. . Tickets come in, you do them, mark them off, move on to the next one. You can also select Create in the top navigation bar, then change the issue type to Epic. epicsOf() Searches for epics that belong to issues that match the given subquery See also: issuesInEpics() Note: Since you need to enclose the provided subquery using doble quotes , you must to escape any doble quotes using in the subquery by preceding a backslash after the double quotes, alternatively you can use a single quote in some cases. Epic Name: It is a short identifier for the epic. I need help to get a 'JQL query' in a 'quick filter' of a Kamban board where I manage epics. If it is a Business project then the navigation options are displayed horizontally at the top of the page rather than in the navigation pane on the left. action: lookup issues on JQL where "epic link" = { {triggerIssue. Reply. You can filter to only stories, or have an empty backlog, and there will still be all the epics in the sidebar. It is available to all issue types, except for the sub-task type, since such type of. Below we named the rule “Keep Epics and stories in sync”. Jennifer Kurtz Oct 07, 2020. Task. JIRA Agile users can query on epic links, eg find all Epics that have unresolved stories: issueFunction in epicsOf ("resolution = unresolved") You would just need to add a bit to the query to constrain it to only the Epics that are marked as Done. Backlog with Epics. issueFunction in issuesInEpics ('issueFunction in linkedIssuesOf ('issueFunction in linkedIssuesOf ("issueFunction in epicsOf ('key= BEAM_OVP-9852') ") ') ') Although pretty sure it can be improved a bit but the triple backslashes seem to do the trick 🙂. How to reference a filter in a jql (for example in epic-link) ? I want to use the result of a filter in another jql research. A Story is a work order to develop one or more user stories. Basic time tracking is also here, as well as story point representation. Using i. ID summary Epic Name Epic Link. Let's say you had two diffent epics returned of ABC-22 and ABC-34. 2 votes. As a project management and tracking tool, Jira Epic has some indispensable features explained below: Project Planning: To create a defined scope, organize and assign the work, and set project schedules. I always ask myself if I use Jira Epics the right way. issueFunction in issuesInEpic () function causes issues with starting sprints. Description: Searches issues linked to the given subquery. I have created elaborate Epic, Stories and Tasks, all well linked to each other. My goal is to prioritize the epics (say that e2. Set up the. Challenges come and go, but your rewards stay with you. 0 scopes required: read:epic:jira-software. ’. . Our team's projects are by Epic that rollup into initiatives, etc. Sadly, issueLinkType was introduced on Jira 8. Open the issue that you want to update the epic link for. To view a consolidated epic progress report using Hierarchy for Jira, click on the “Collapse“ button at the bottom left. Community Leader. When we first announced this work, we let you know that we were improving. Using Jira as the central source of truth for your DevOps practices, unlock the extensibility of an open, diverse toolchain while keeping the ease and coordination of an all-in-one. example: issuekey = EEEP-963 OR issuekey in childIssuesOf (EEEP-963) OR issuekey = EEEP-992 OR issuekey in childIssuesOf (EEEP-992) AND issuetype in ("Portfolio Epic", Capability, Epic. What you described is the case, yes. This alias can be used with the JQL relative date functions and also the numeric comparison operators. type= Epic and issueFunction not in epicsOf("type in (task,bug)")All Epic Progress Report. Thanks to the Advanced Roadmaps add-on, Jira Premium users have the ability to set up an level of hierarchy higher than an Epic: an Initiative. Finally, when issue is assigned to epic that is not picked by the board filter, the following will happen: in the backlog view: epic does not show up, issue is visible, when I filter all issues, epic tag is visible on the card. . Click on it to show all the epics created in your project. I would like the Epic to reflect. From here you can sort epics by their rolled up story point or. EPICS PANEL should sort alphabetically. The firstCommentedDate alias can be used to search for issues based on the date of the first comment. Instead you have to use a new interface called ScriptRunner Enhanced Search to create the filters that use those functions. I’m Maurício, a support engineer at Appfire and I’m here to help you. In Jira Cloud, before removing the Epic Status field from Epic screens, regarding the data-at-rest (existing Epics) 1. Epic Summary: It is observed whenever Jira will be displaying the epic. Step 1: Click on the “Backlog” tab on the Jira. Hello Atlassian Community, My name is Bryan Lim and I'm a Product Manager working on Jira Software. The concept of hierarchy is so badly implemented that honestly, they shouldn't have bothered. While the distinction may seem trivial. issuetype = Epic AND created > startOfDay (-30d) Steven Choiniere Oct 22, 2020. JQL to find all epics in certain initiatives in advanced roadmaps. Reply. 2. It looks like you have ScriptRunner or similar based on your use of issueFunction. . 7. getChangeItemsForField (issue, "Fix Version"). With JIRA alone, I don't think this is possible to do in a single JQL query. On Jira Issue tab, select "Has the initiative of" in 'This issue' field. Click on “Epic” and “Add”. See also: issuesInEpics () Note: Since you need to enclose the provided. Answer. You can also select Create in the navigation bar, then change the issue type to Epic. . Comparison of Epic, Story, and Task. I like this approach and I'm trying to utilize it.