Assignment3 why

Implements #13