various test and some refactoring, preparing to have a silent option