refactor zypper commands and use shell_out