split bunch of class from engine.rb; card: targets