code review

`key`, `branch`, `directory`... have to be constants