added option to use negative expire value for no expiration