#213 refactored basic concepts