added a couple algorithms