Added options feature and Unit tests