use uint for state and context variables
switch to GPL Affero V 3