create data directory if it doesn't exit