reformatted code structure and added travis integration