0.2 refactor