update requirements, reformat
Clean up subscription model, fix tests