rewrote the feature; bugfix 4453/52/51

Signed-off-by: Chirayu Chiripal <chirayu.chiripal@gmail.com>