1. version with expiration