should increment be a long? otherwise this is very awkward