refactor functions to use fixed and fluid explicitly and to introduce the notion of "layout" functions