Reworked to be Android friendly (woo!)