refactoring previous project as initial exlang.