composer refactor