how about some proper argument handling