Refactory file structure and coding style
Add tarvis ci configuration