commonlib must be independent from the engine