Add manual implementation, add probabilities