fixed all broken functionality
added user agent wrapper to external getter
cleaned up code