use inlines in singleton functions and small often used functions to make debugging comfortable