Replaced `has` and `can` modules
Merge pull request #750 from bvssvni/newdesign

Replaced `has` and `can` modules