Complete function and update design