implemented more smart moves