Refactoring
fixed #80