restructure app hierarchy and build flow
improves build flow