refactor: do not use dynamic allocation where not needed
fix: add include guards to path
feat: add structure for dynamic file access