реализован основной функционал

Signed-off-by: SButterfly <sbutterfly@outlook.com>