refactor investment