Refactoring
Close #76