set selection state sooner, don't enter selection process if we don't
have items to select!
update blog post and code