assignment functions added