updated model hierarchy, added inferrer for EntityLayout, updated test cases