added several changes