added usage and explanation