return an int as promised by b563f22e696761287243dd054a119f6334a1234d