fleshed out the api including first pass at parsing out args