# Refactor CIS benchmark in go roadmap
## Task catagory in benchmarks
1. file related
- check the permissions
- check the ownership
- check one or more file at one checks
2. argument related
- check arguments is set to specific value
- check arguments is set or not
- check the file in the argument meet the ownership or permission
## Items to re-write
### runner function
unit-test functions for each utils function
1. read yaml
=> Parse the new defined audit to run
2. actual audit utils
a. prepare argument map functions
b. file permission or ownership functions
c. grep files functions
3. output parsing
=> re-design the output format to avoid too much string operation
### yaml file
=> need to design a new format to define the audit
## Timeline
### 1st month
1. create a mock yaml that meet the all tasks
2. finish most of the runner function
### 2nd month
1. finish the unit-test for runner function
2. apply the yaml format to all the existing yaml
3. open for QA to test it
### 3rd month
1. debug and make sure the result looks good
2. update the docs related to it.