initial functions added