Complete all functionality