Continue implementation. Add some parallelizm.

- note: while some of the class are parallelized, the class themselves
aren't threads' safe