Refactored.
Merge branch 'implement'