Added source code from ITP classes