button layout using constraints rather than fixed