enhance dependencies and clean
- make dist and distcheck (unfinished)