http://ideone.com/h2pVd