+ mesh component 
* more code refactoring