[MAT-89] WIP
[MAT-5] patch unit test
[MAT-89] WIP II
[MAT-89] WIP III
[MAT-89] WIP IV
[MAT-89] WIP V