added following functionality