WIP
WIP 2

Better comments afterwards.