updates to api, improving browser compatibilty and usefulness