Added functions that need to be broken into atomic functions