bottom up design methodology