new init bottom up function