https://jungyong.com/2009/07/01/smart/
smart