rework with more properties and uuid and stuff