Revert "added new funtionalaties and tests"

This reverts commit 6d917323d1eeb2fe42ab4617bec393b691de41b6.
Revert "Revert "Revert "Revert "added new funtionalaties and tests""""

This reverts commit 395410c90e8f3d3040f411836b61717b6e02d7eb.