Refactoring

- useless types deleted
- used a reference...