cross browser compatibility added