completely restructured the library to be make full usee of automake