add -version
tweak some errors, refactor :more related things