added usage and some documentation