lot of js/api changes