moved layout into public