furthere improvements in the functionality