Revert "Commit reverted due imcompleted features"

This reverts commit ca871a78369745f5347cb234aeef4d184ed8a23d.