fix #148. And "base" refactoring