adding a lot of new functionality

Signed-off-by: riabop <riabop@gmail.com>