Addes parallalisation

Rest of the code
TODO: fix update method