Dev abstract models

PLease clean it up