added initialization functions