Refactoring + syntax/lint checks / unit tests / integration tests