Split Application and Driver Layer