Inital commit part 2 with a few changes made already.