this repo contains some algorithm I used at work