Assignment

This is my start. It needs to be commented and probably optimized a bit.