make log optional