refactor 0.4