modified structure alignment definition to make it work on older gcc
fix documentation
try to avoid multiple library inits by SIGSEGV