--- sidebar_position: 4 title: Component appendix classes --- In order to make our component work we will need several additional classes. Typically, components are in a `Components` folder, so we'll do the same and create that folder. As seen in the description, we need to trace user actions, so for that we need a class with the information to trace. ```csharp title="Components/CraftingAction.cs" public class CraftingAction { public string Action { get; set; } public int Index { get; set; } public Item Item { get; set; } } ``` Our component must also accept recipes, so we will create a class representing a recipe. ```csharp title="Components/CraftingRecipe.cs" public class CraftingRecipe { public Item Give { get; set; } public List> Have { get; set; } } ```