refactor common code for models
adding shared lists concept