APPENDIX G - ALGORITHMS