added args checking and sample outputs