return needs to be integer