Initial Code Commit

Have not had a chance to test this yet, must do that and add in docs.