Stable (?)
Small bug fixed.
Refractored version.
Merge branch 'implement'