#48 refactoring Base: finished