fixed some bugs
changed assemble process