implemented debruijn graph