add user_defined_env, add merge and remove list function