refactor for 0.9.5-dev