 When we look at the file structure of the freeRTOS, you can find different files for different functionality. So each functionality has its own implementation in separate source and header files. These can be included by configuration of the freeRTOS. So if you don't use timers, you can completely strip them off. And the timers.c file won't be included and timers header file won't be included. So the API will not be present. And it's valid for most of the things. There are some common ones, but there are as well things that don't need to be implemented. One remark, there exist common functions or common source files. But then there exist as well files that relate to different vendors. So they are vendor specific. And among those, you will find the port that's vendor specific. And you will as well find for user selection a list of heap underscore one to five files where you should always choose just one of them into the implementation. This will bring up the functions for allocation and the allocation of the memory in the heap by different functionalities. So for example, heap one is only a static allocation while heap five is an allocation in many different areas. So it can allocate in several split parts of the memory.