just review some basic algorithms