add TODO.
fix: do not use variadic macro of GCC.
use void* instead char* for checksum() arguments.
bugfix: we should avoid to assemble already assembled devices.