change the UI to adapt to 2 new APIs
finally complete