atom-mapping algorithms as separated classes