use angular unstable and fix some bugs