issue #1 - apply sonar suggestions
issue #1 - rename implementation classes, as suggested by Sonar
issue #1 - misc improvements