broke up conditional into named methods