Adding some new elements to make it more robust