added better validation to creating shifts