diff --git a/TODO2.org b/TODO2.org
new file mode 100644
index 0000000000000000000000000000000000000000..7c718ba74a02b89b70edea88fa540cc7d3cf8feb
--- /dev/null
+++ b/TODO2.org
@@ -0,0 +1,167 @@
+* Todo list for the binary_c-python
+** Logging functionality:
+*** Idea
+Idea is to be able to give a string via python that will be used in the through the libbinary_c.so so that log_every_timestep.c 
+The code below is the piece in log_every_timestep that uses it.
+
+    if(stardata->preferences->custom_output_function != NULL)
+    {
+        Dprint("calling custom output function %p\n",
+               stardata->preferences->custom_output_function);
+        stardata->preferences->custom_output_function(stardata);
+    }
+
+So the function should recieve 'stardata' as input.
+
+We can do that with providing a logging string alltogether, or generate a logging function
+
+In either way, this should be passed to stardata->preferences->custom_output_function as a pointer to that function
+
+*** Provide string for logging
+In perl this is done in the following way:
+**** code to input
+And then to use it via 
+    $population->set(
+        C_logging_code => '
+             PRINTF("MY_STELLAR_DATA %g %g %g %g\n",
+                 stardata->model.time,
+                 stardata->star[0].mass,
+                 stardata->model.probability,
+                 stardata->model.dt);
+                       '
+    );
+**** code to handle that input
+sub binary_c_log_code
+{
+    my ($code) = @_;
+    return "
+#pragma push_macro(\"MAX\")
+#pragma push_macro(\"MIN\")
+#undef MAX
+#undef MIN
+#include \"binary_c.h\"
+
+void custom_output_function(SV * x);
+SV * custom_output_function_pointer(void);
+
+SV * custom_output_function_pointer()
+{
+    /*
+     * use PTR2UV to convert the function pointer 
+     * &custom_output_function to an unsigned int,
+     * which is then converted to a Perl SV
+     */
+    return (SV*)newSVuv(PTR2UV(&custom_output_function));
+}
+
+void custom_output_function(SV * x)
+{
+    struct stardata_t * stardata = (struct stardata_t *)x;
+    $code;
+}
+#undef MAX 
+#undef MIN
+#pragma pop_macro(\"MIN\")
+#pragma pop_macro(\"MAX\")
+";
+}
+Or use it via:
+*** auto logging
+We should also try to be able to have the code autogenerate some logging function via the following:
+**** input in perl
+$population->set(    C_auto_logging => {
+        'MY_STELLAR_DATA' =>
+            [
+             'model.time',
+             'star[0].mass',
+             'model.probability',
+             'model.dt'
+            ]
+    });
+**** code to handle that input
+Which is handled in perl via (see binary_grid2.pm
+sub autogen_C_logging_code
+{
+    # given a hash of arrays of variable names, where the hash
+    # key is the header, autogenerate PRINTF statements
+    my ($self) = @_;
+    my $code = undef;
+    if(defined $self->{_grid_options}->{C_auto_logging} &&
+       ref $self->{_grid_options}->{C_auto_logging} eq 'HASH'
+        )
+    {
+        $code = '';
+
+        foreach my $header (keys %{$self->{_grid_options}->{C_auto_logging}})
+        {
+            if(ref $self->{_grid_options}->{C_auto_logging}->{$header} eq 'ARRAY')
+            {
+                $code .= 'PRINTF("'.$header.' ';
+                foreach my $x (@{$self->{_grid_options}->{C_auto_logging}->{$header}})
+                {
+                    $code .= '%g ';
+                }
+                $code .= '\n"';
+
+                foreach my $x (@{$self->{_grid_options}->{C_auto_logging}->{$header}})
+                {
+                    $code .= ',((double)stardata->'.$x.')';
+                }
+                $code .= ');'
+            }
+        }
+    }
+    print "MADE AUTO CODE \n\n************************************************************\n\n$code\n\n************************************************************\n";
+
+    return $code;
+}
+*** DONE Make function in python that puts code into c function
+    CLOSED: [2019-10-31 Thu 11:13]
+*** DONE Make function in python that generates c-function from a list of arguments
+    CLOSED: [2019-10-29 Tue 23:52]
+*** DONE Resolve current issue malloc
+    CLOSED: [2019-11-08 Fri 11:12]
+➜  binary_c-python git:(master) ✗ python python_API_test.py 
+Traceback (most recent call last):
+  File "python_API_test.py", line 3, in <module>
+    import binary_c
+ImportError: /home/david/projects/binary_c_root/binary_c-python/libbinary_c_api.so: undefined symbol: MALLOC
+
+I get this error when I am using the master version of binary_c with either branches of the python wrapper..
+
+That went very deep haha. alot of memory allocation stuff
+
+*** DONE Make sure this works with the last major release of binaryc
+    CLOSED: [2019-11-08 Fri 15:00]
+*** DONE Finish testing a simpler case (see other repo)
+    CLOSED: [2019-11-08 Fri 09:37]
+*** DONE Make master master work
+    CLOSED: [2019-11-08 Fri 15:00]
+*** DONE Sync master with david_branch
+    CLOSED: [2019-11-08 Fri 15:00]
+*** DONE make tag of old master branch for future reference
+    CLOSED: [2019-11-08 Fri 15:00]
+*** DONE Implement the autogeneration of the library
+    CLOSED: [2019-11-08 Fri 15:48]
+*** DONE Load all the things with the c-types
+    CLOSED: [2019-11-08 Fri 18:49]
+*** DONE Implement new function for run_binary_with_custom_logging
+    CLOSED: [2019-11-08 Fri 21:19]
+*** DONE Make new c function run_binary_with_custom_logging
+    CLOSED: [2019-11-08 Fri 21:19]
+*** TODO Put in some new tests in the python test api
+*** TODO Make sure the sharedlibs get written to the correct directory
+** General:
+*** DONE Get a more reliable way of loading the default values (running a ./tbse echo or something?)
+    CLOSED: [2019-10-29 Tue 17:44]
+*** DONE make routine that reads out all the lines, splits them into pieces and reads out the correct key
+    CLOSED: [2019-10-29 Tue 17:43]
+*** TODO Put header and other source files in a dedicated directory
+*** TODO Use sphinx or read the docs for auto generation of documentation
+*** TODO Have the compiled files put into a build directory
+*** TODO add pythonpath thing to readme
+*** TODO make script that will set up binaryc automatically so that this can become an out of the box thing
+*** TODO Test the importing of this code from different places
+** Population ideas
+*** TODO Queuing system and some multiprocessing to run many systems
+*** TODO Consider rewriting the work that perl does