added log(), added derivative