Updated model lib to be extensible