More refactor to get closer to final classes