it can handle options