added args parsing