implement options and add tests