record some algorithms