update readme and code documentation