more flexible modal