Adding more functions, simplifying arg validation