activity.js api final iteration