refactor tests and adds tests for more options