fix some errors, shorter result