broke up the RDP algorithm a bit and implemented an auto-tagging system for it.
added documentation and privatized some methods that didn't need to be public.
fixing commit issues