- change default scala version
- move base implementation in separate class
- update libraries versions