implemented current state-of-my-art algorithm and tests