Merged from refactor branch
Merge branch 'wip' of https://github.com/tmcyf/tmcyf into wip