test on web. not bad, still needs improvment