initial commit, basic polling works