First commit for session 4.

First draft for session 4. Some important code is still missing.