1st version with gcc library