Move layout into separate custom component