lots of additions and travis ci added