documentation
clean up locking
add Travis config