Real implementation

No testing of expiry yet