work on core
refined core
Merge branch 'dev'