update docs and readme
update travis
clean up and refactoring
v 4.0