- [CLEANUP] big cleanup and code moving, WIP, to be tested