finished manipulation.js