early version.
changed logic to queue everything