TODO: Optimize performance
TODO: Add unit tests
Double TODO in this file
