Layer 2 done. Needs testing and integeration.