add support to auto increment