improved and expanded on logging system, found a way to log the correct function name when decorating a function