I have no idea what i'm doing.
Nothing new except some missing code. (clean up)