Complete more advanced functions.