not full working vers of 3.5

Signed-off-by: aLekSer <gdocse@gmail.com>
new basic class

Signed-off-by: aLekSer <gdocse@gmail.com>
3_4 recheck

Signed-off-by: aLekSer <gdocse@gmail.com>
paste and edit code from 3_4