Final code

Salim was having troubles with git since thursday, so this was supposed
to be his contribution, and was supposed to be up by friday morning.