add expiration time functionality
cleanup whitespace