assembly functions added