early prototype (ranges are wrong because they are using pixels right now, need to convert)