+ add safeLogger(unfinsished)