Add data alignment
Use double-linked lists: performance increase + additional memory overhead
Refactor and better docs
Use correct doxygen syntax
Add doxygen documentation