added usage and optional message