remastered with getopts