refactored v 0.9.12