Smart coding (5/28)

Smart coding