cleaned up incrementer