class split in more dedicated modules
added missing changes