added mkdir and everything necessary to implement