adding a base SPAModel class