completed assignment functions