added db abstract and more models