refactor: a lot of new things ... Unit Tests in progress