add more options and tests