first attempt at auto layout lib