better handle contain