skeleton functions added