1 to 1 example rewrited in classes with support of configuring and logging