Refactor
Close #9