added poseidon module
merged poseidon branch