build layer architecture