implement features to address issue 52