compare versino numbers
merge conditions
update doc and style