creation base functions complete