Changed with better solution