- fixed compilation error
- added concepts/constraints