A challenge facing theoretical computer scientists today is not so much to obtain more trendy results of limited long term significance, but rather, to try to formulate a more coherent framework and methodology. To meet this challenge more traditional branches of mathematics, in addition to combinatorics, will play a more significant role. This project will investigate circuit complexity, cooperative games and interactive proof systems and develop new proof techniques and methodologies in hopes to obtain a more coherent framework for complexity theory and contribute to our understanding of the nature of computation.