v0.1 refactor