broke up api and added mkdir and touch convenience fns