- fixes
- cleaning
- finished impl