My undergraduate thesis. Temporary repository.