Improve 04 and refactoring