KRACOEUS-7002: Merged code from mrudulpolus/KRACOEUS-7002
KRACOEUS-7002: Cleaned up code and adding missed functionality.
Merge pull request #557 from jamey-rsmart/KRACOEUS-7002

Kracoeus-7002