Refactor to avoid unnecessary preprocessor logic