more work on fortran cpp interface