new directory structure, getopt function and a lot of code clean
misc stuff
misc fix
misc fix
toward pattern rules
before variable restructuring
main rules implemented
ready for release