abstract strategy