use inlining in singleton functions and small frequently used functions to make debugging more comfortable
add comments for main loop functions to create a big picture of what is going on