abstract filename generation