Initial implementation (Tested on Chrome 24 and FF 18)